home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / ms_dos / compack / src / sub.asm < prev   
Encoding:
Assembly Source File  |  1993-07-08  |  1.0 KB  |  55 lines

  1. ;
  2. ;        COMPACK用サブルーチン
  3. ;
  4.  
  5. NULL    EQU    0000H        ; NULL
  6. BELL    EQU    0007H        ; BEEPのアスキーコード
  7. TAB    EQU    0009H        ; TAB のアスキーコード
  8. LF    EQU    000AH        ; 「LF」のアスキーコード
  9. CR    EQU    000DH        ; 「CR」のアスキーコード
  10. FCB1    EQU    005CH        ;第一パラメータ格納アドレス
  11. FCB2    EQU    006CH        ;第二パラメータ格納アドレス
  12. DTA    EQU    0080H        ;コマンドパラメータ格納アドレス
  13.  
  14. CAPITAL    MACRO    REG        ; 小→大文字変換 (簡易版)
  15.     AND    REG,0DFH
  16.     ENDM
  17.  
  18. ;    ASCII-Zero 文字列表示  (呼出し直後のメッセージを表示)  : AXを破壊
  19.  
  20. ZPR    PROC
  21.     POP    AX        ; 
  22.     PUSH    BX
  23.     PUSH    DX
  24.     MOV    BX,AX        ; BX= [文字列]
  25. #LOOP1:    MOV    AH,2        ;Func-No. 2  「PUTCHAR」
  26.     MOV    DL,[BX]        ;1文字読み込み
  27.     INC    BX
  28.     AND    DL,DL
  29.     JZ    SHORT #LOOP2    ; NULLだったら表示終了
  30.     INT    21H        ; 表示
  31.     JMP    SHORT #LOOP1    ; まだまだループ
  32. #LOOP2:    POP    DX
  33.     POP    AX
  34.     PUSH    BX
  35.     MOV    BX,AX
  36.     RET
  37. ZPR    ENDP
  38.  
  39. ;    ASCII-Zero 文字列表示  (BXのメッセージを表示) : 全て保存
  40. ZPR2    PROC
  41.     PUSH    AX
  42.     PUSH    BX
  43.     PUSH    DX
  44. #LOOP1:    MOV    AH,2
  45.     MOV    DL,[BX]
  46.     INC    BX
  47.     AND    DL,DL
  48.     JZ    SHORT #LOOP2
  49.     INT    21H
  50.     JMP    SHORT #LOOP1
  51. #LOOP2:    POP    DX
  52.     POP    BX
  53.     POP    AX
  54.     RET
  55. ZPR2    ENDP